package com.ruoyi.info.mapper;

import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.info.domain.SysInfoColumn;

/**
 * 资讯栏目Mapper接口
 * 
 * @author ruoyi
 * @date 2025-01-27
 */
public interface SysInfoColumnMapper extends BaseMapper<SysInfoColumn>
{
    /**
     * 查询资讯栏目
     * 
     * @param columnId 资讯栏目主键
     * @return 资讯栏目
     */
    public SysInfoColumn selectSysInfoColumnByColumnId(Long columnId);

    /**
     * 查询资讯栏目列表
     * 
     * @param sysInfoColumn 资讯栏目
     * @return 资讯栏目集合
     */
    public List<SysInfoColumn> selectSysInfoColumnList(SysInfoColumn sysInfoColumn);

    /**
     * 新增资讯栏目
     * 
     * @param sysInfoColumn 资讯栏目
     * @return 结果
     */
    public int insertSysInfoColumn(SysInfoColumn sysInfoColumn);

    /**
     * 修改资讯栏目
     * 
     * @param sysInfoColumn 资讯栏目
     * @return 结果
     */
    public int updateSysInfoColumn(SysInfoColumn sysInfoColumn);

    /**
     * 删除资讯栏目
     * 
     * @param columnId 资讯栏目主键
     * @return 结果
     */
    public int deleteSysInfoColumnByColumnId(Long columnId);

    /**
     * 批量删除资讯栏目
     * 
     * @param columnIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteSysInfoColumnByColumnIds(Long[] columnIds);

    /**
     * 校验栏目编码是否唯一
     * 
     * @param columnCode 栏目编码
     * @return 结果
     */
    public SysInfoColumn checkColumnCodeUnique(String columnCode);

    /**
     * 根据父栏目ID查询子栏目数量
     * 
     * @param parentId 父栏目ID
     * @return 结果
     */
    public int selectCountColumnByParentId(Long parentId);
}
